<?php //strip
/**
 * Implementation of the form for a categories table.
 * 
 * @package odCatalogWpPlugin
 * @subpackage odCatalogWpPlugin_Tables
 * @author Ondrej Donek <ondrejd@gmail.com>
 */
class odCatalogWpPlugin_Tables_Category extends odWpPlugin_Admin_Table
{
	public function __construct()
	{
		$model = new odCatalogWpPlugin_Models_Category();
		
		parent::__construct(array(
			'formUrl' => get_bloginfo('home') . '/wp-admin/admin.php?page=od-catalog-categories',
			'editUrl' => get_bloginfo('home') . '/wp-admin/admin.php?page=od-catalog-add_category',
			// `model` je zodpovedny za vsechny vnitrni SQL dotazy
			'model' => $model,
			// popisuje jednotlive sloupecky, `key` sloupecku by mel odpovidat
			// presne polozce v databazi. Jedinna uchylka je `primary` sloupecek,
			// u ktereho ocekavame, ze oznacuje `ID` v databazi.
			'columns' => array(
				'ID' => array(
					'primary' => true, // TODO  We have also `primaryColumn`!
					'label' => __(' ', odCatalogWpPlugin::TEXTDOMAIN),
					'style' => '',
					'valueCol' => 'ID'
				),
				'title' => array(
					'control' => true,
					'label' => __('Název', odCatalogWpPlugin::TEXTDOMAIN),
					'style' => 'width: 30%;',
					'valueCol' => 'title'
				),
				'description' => array(
					'label' => __('Popis', odCatalogWpPlugin::TEXTDOMAIN),
					'style' => 'width: 30%;',
					'valueCol' => 'description'
				),
				'parentCategory' => array(
					'label' => __('Nadřazená kategorie', odCatalogWpPlugin::TEXTDOMAIN),
					'style' => '',
					'valueCol' => 'parent_title'
				)
			),
			// TODO Pokud jsou `bulkActions` TRUE pak otestujeme hodnoty `usePublished`
			//      a `useDeleted` (ktere jsou zjisteny na zaklade databazoveho
			//      modelu) a kdyz je alespon jedna z nich TRUE, tak jsou hromadne
			//      akce renderovany.
			'bulkActions' => true,
			'bulkActionsMsgs' => array(
				'noitems' => __('Nevybrali jste žádné kategorie ke zpracování!', odCatalogWpPlugin::TEXTDOMAIN),
				'noaction' => __('Nevybrali jste kategorie, pro které chcete akci provést!', odCatalogWpPlugin::TEXTDOMAIN),
				'delete' => __('Vybrané kategorie byly smazány.', odCatalogWpPlugin::TEXTDOMAIN),
				'undelete' => __('Vybrané kategorie byly obnoveny.', odCatalogWpPlugin::TEXTDOMAIN)
			),
			// Definovane filtry
			'filters' => array(
				// Takto definovany filtr znamena, ze si bude hlidat hodnotu `parent_ID`
				// v POST a `parent_ID` zaroven odpovida sloupecku v databazi. Dale je 
				// dano, ze defaultni hodnota (rodicovska kategorie v nasem pripade)
				// bude 0 a k zobrazeni se bude pouzivat hodnota, ktera je v databazi
				// ulozena v sloupecku (v databazi) `title`.
				array(
					'label' => __('Nadřazená kategorie', odCatalogWpPlugin::TEXTDOMAIN),
					'defaultValue' => 0,
					'valueKey' => 'parent_ID',
					'labelKey' => 'title'
				)
			),
			'maxrows' => 10,
			//'usePublished' => false,
			//'useDeleted' => true,
			'tree' => true,
			'primaryCol' => 'ID',
			'parentCol' => 'parent_ID',
			'editLink' => true,
			'editLinkCol' => 'title'
		));
	}
} // End of odCatalogWpPlugin_Tables_Category
